package com.gp.geits.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.gp.geits.utils.JwtInfo;
import com.gp.geits.utils.PageUtils;
import com.gp.geits.entity.UserEntity;
import com.gp.geits.vo.*;

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

/**
 * 
 *
 * @author lzf
 * @date 2022-03-09 15:36:11
 */
public interface UserService extends IService<UserEntity> {

    PageUtils queryPage(Map<String, Object> params);

    /**
     * 学生注册
     * @param userEntity 用户信息
     */
    void registerByStu(UserEntity userEntity);

    /**
     * 企业注册
     * @param vo 用户信息
     */
    void RegisterByComVo(RegisterByComVo vo);

    /**
     * 学生登录
     * @param loginVo 登录信息
     * @return jwt
     */
    String loginByStu(loginByStuVo loginVo);

    /**
     * 企业登录
     * @param loginVo 登录信息
     * @return jwt
     */
    String loginByCom(loginByComVo loginVo);

    /**
     * 修改个人基本信息
     * @param vo 基本信息
     * @param request 请求
     */
    void updatePersonalInformation(UpdatePersonalInformationVo vo, HttpServletRequest request);

    /**
     * 获取登录信息
     * @param request 请求
     * @return 登录信息
     */
    JwtInfo loginCheck(HttpServletRequest request);

    /**
     * 修改密码
     * @param vo 密码信息
     * @param request 请求
     */
    void passwordChange(PasswordChangeVo vo, HttpServletRequest request);
}

